/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.fyx.core.context;

import org.fyx.secure.ejb.FyxContext;

/**
 * Tovarna na vyrobu kontextu fyx. Zodpovida za spravne prirazeni a vraceni
 * kontextu fyx.
 * <p>
 * Splnuje kriteria navrhoveho vzoru <i>Factory</i>.
 * 
 * @author xljan
 * @see org.fyx.secure.ejb.FyxContext
 * @since FYX 1.0
 */
public abstract class FyxContextFactory {

    private static FyxContext context = null;

    /**
     * Nastavi aktualni kontext klienta {@link org.fyx.secure.ejb.FyxContext}. 
     * Kontext se vztahuje vzdy ke konkretnimu klientu.
     * 
     * @param context aktualni kontext klienta
     */
    protected static void setCoreContext(FyxContext context) {
        FyxContextFactory.context = context;
    }

    /**
     * Nastavi aktualni kontext klienta {@link org.fyx.secure.ejb.FyxContext}. 
     * Kontext se vztahuje vzdy ke konkretnimu klientu.
     * 
     * @return aktualni kontext klienta
     */
    public static FyxContext getContext() {
        return FyxContextFactory.context;
    }
}
